package com.ryhx.postman;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.List;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ryhx.postman.baseEntity.BaseInterfaceDocEntity;

/**
* @Package com.study.common.utils
* @ClassName: JsonFileToExcel
* @Description: json文件 转换成excel文件
* @author yaojinshan
* @date 2018年12月20日 下午8:34:22
* @version 1.0
*/
public class JsonFileToExcel {
	//访问前缀
	static String request_prefix = "\\{\\{local-web-api\\}\\}/";
	static String server_request_prefix = "\\{\\{server-web-api\\}\\}/";
	static String request_prefix_replace = "http://124.204.47.245:9093/";
	

	public static void main(String[] args) {
		//读取json文件内容
		//String jsonStr = readFileByLines("D:\\ly-rcb-web-api(store).postman_collection.json");
		String jsonStr = readFileByLines("D:\\ly-life-rate-order.postman_collection.json");
		//讲项目访问的前缀  替换成目标前缀
		jsonStr = jsonStr.replaceAll(request_prefix, request_prefix_replace);
		jsonStr = jsonStr.replaceAll(server_request_prefix, request_prefix_replace);
		JSONObject jsonObject = JSON.parseObject(jsonStr);
		List<BaseInterfaceDocEntity> docEntityList = JSONArray.parseArray(jsonObject.getString("item"),BaseInterfaceDocEntity.class);
		System.out.println(docEntityList.toString());
		
		//1.获取接口数组长度 ,新建同等个数的sheet, 
		
		//2.遍历 从模板页sheet copy 到新生成的sheet
		
		//3.解析数组数据 做sheet页数据填充
		
		
		
	}
	
	/**
     * 以行为单位读取文件，常用于读面向行的格式化文件
     */
    public static String readFileByLines(String fileName) {
        File file = new File(fileName);
        BufferedReader reader = null;
        try {
            System.out.println("以行为单位读取文件内容，一次读一整行：");
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            String returnStr = "";
            //int line = 1;
            // 一次读入一行，直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                // 显示行号
                //System.out.println("line " + line + ": " + tempString);
                returnStr += tempString;
               // line++;
            }
            reader.close();
            return returnStr;
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        return "";
    }

}
